package com.qianniu.napi.admin.entity;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.qianniu.napi.common.config.Constants;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author chenxuebin
 * @since 2018-06-28
 */
@TableName("t_order_goods")
public class OrderGoods extends Model<OrderGoods> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 订单id
     */
	private Long oid;
    /**
     * 商品id
     */
	private Long gid;

	private String xmtype;
    /**
     * uid
     */
	private Long uid;
	private Long jduid;

	private String jdname;

    /**
     * 商品规格
     */
	private Long skuid;
	private Long mid;
	private Long mpid;
	private Long sid;
	private Long pid;

	@TableField("coupon_id")
	private Long couponId;

	private Integer type;
	private Integer quantype;
    /**
     * 购买单价
     */
	private BigDecimal price;
	/**
	 * 实际售价
	 * 劳动业绩：100
	 * 产品业绩：100
	 * 买卡业绩：100
	 */
	private BigDecimal saleprice;

	//会员价
	//#做头士：实际劳动业绩+卖产品业绩+买卡
	//#劳动业绩：80（销卡业绩）
	//#产品业绩：100
	//#买卡业绩：100
	private BigDecimal hyprice;

	//实付价
	//#做头士：实际劳动业绩+卖产品业绩+买卡
	//#实收劳动业绩：100||0||80
	//#实收产品业绩：100
	//#实收买卡业绩：100
	private BigDecimal realpay;

	//运费
	private BigDecimal yunfei;
	private BigDecimal total;


	private String linkman;
	private String phone;
	private String headimg;

    /**
     * 购买数量
     */
	private Integer number;

	private Integer fhstate;
	private Integer state;

	private Integer jifen;

	private Integer isDefault;

	/**
	 * 拼团状态
	 */
	@TableField(exist = false)
	private Integer pstatus;

	/**
	 * 状态名称
	 */
	@TableField(exist = false)
	private String statusStr;
	/**
	 * 规格
	 */
	private String spec;

	@TableField("transaction_id")
	private String transactionId;

	@TableField("is_deleted")
	private Integer isDeleted;

	@TableField(exist = false)
	private String amountTotle;

	/**
     * 状态@
     */
	private Integer status;
    /**
     * 优惠多少
     */
	private BigDecimal discount;

	/**
	 * 自购奖励积分|现金|优惠券|虚拟币
	 */
	private BigDecimal zgfan;

	//#做头士提成：实际劳动业绩+卖产品业绩+买卡
	//次卡提成0
	//会员卡提成#0.2
	//劳动1提成#3万以下提成0.4
	//劳动2提成#3万以上提成0.45
	//产品提成#0.2
	private BigDecimal fxe1;

	private BigDecimal fxe2;
	private BigDecimal fxe3;
	private BigDecimal fxe4;

	//做头士扩展值：是否是次卡抵扣优惠
	private BigDecimal fxe5;

	//做头士扩展值：是否会员
	private BigDecimal fxe6;

	//做头士扩展值：预约指定率
	//做头士扩展值：首次约同一个理发师下单0：非首次1
	private BigDecimal fxe7;

	private BigDecimal sharefan;

    /**
     * 运单号
     */
	@TableField("shipper_code")
	private String shipperCode;
    /**
     * 是否评论
     */
	@TableField("is_comment")
	private int isComment;

	/**
	 * 商品类型
	 */
	private Integer gtype;

    /**
     * 订单号
     */
	@TableField("order_no")
	private String orderNo;

    /**
     * 退单号|退款编号
     */
	@TableField("refund_no")
	private String refundNo;

    /**
     * 订单号
     */
	@TableField("goods_name")
	private String goodsName;

    /**
     * 货运公司
     */
	@TableField("shipper_name")
	private String shipperName;

    /**
     * 货运公司
     */
	@TableField("order_type")
	private Integer orderType;

	private String okday;
	private String sname;
	private String pic;
	private Date paytime;
	private Date createtime;
	private Date modifytime;
	private Long modifier;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getOid() {
		return oid;
	}

	public void setOid(Long oid) {
		this.oid = oid;
	}

	public Long getGid() {
		return gid;
	}

	public void setGid(Long gid) {
		this.gid = gid;
	}

	public Long getMid() {
		return mid;
	}

	public void setMid(Long mid) {
		this.mid = mid;
	}

	public Long getMpid() {
		return mpid;
	}

	public void setMpid(Long mpid) {
		this.mpid = mpid;
	}

	public Long getSkuid() {
		return skuid;
	}

	public void setSkuid(Long skuid) {
		this.skuid = skuid;
	}

	public Integer getPstatus() {
		return pstatus;
	}

	public void setPstatus(Integer pstatus) {
		this.pstatus = pstatus;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Integer getNumber() {
		return number;
	}

	public void setNumber(Integer number) {
		this.number = number;
	}

	public String getRefundNo() {
		return refundNo;
	}

	public void setRefundNo(String refundNo) {
		this.refundNo = refundNo;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public BigDecimal getDiscount() {
		return discount;
	}

	public void setDiscount(BigDecimal discount) {
		this.discount = discount;
	}

	public String getShipperCode() {
		return shipperCode;
	}

	public void setShipperCode(String shipperCode) {
		this.shipperCode = shipperCode;
	}

	public String getShipperName() {
		return shipperName;
	}

	public void setShipperName(String shipperName) {
		this.shipperName = shipperName;
	}

	public Integer getOrderType() {
		return orderType;
	}

	public void setOrderType(Integer orderType) {
		this.orderType = orderType;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public Date getModifytime() {
		return modifytime;
	}

	public void setModifytime(Date modifytime) {
		this.modifytime = modifytime;
	}

	public Long getModifier() {
		return modifier;
	}

	public void setModifier(Long modifier) {
		this.modifier = modifier;
	}

	public Integer getIsDefault() {
		return isDefault;
	}

	public void setIsDefault(Integer isDefault) {
		this.isDefault = isDefault;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public Integer getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Integer isDeleted) {
		this.isDeleted = isDeleted;
	}

	public String getStatusStr() {
		return Constants.STATUS_ORDER_MAP.get(status);
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public String getAmountTotle() {
		return amountTotle;
	}

	public void setAmountTotle(String amountTotle) {
		this.amountTotle = amountTotle;
	}

	public int getIsComment() {
		return isComment;
	}

	public void setIsComment(int isComment) {
		this.isComment = isComment;
	}

	public String getPic() {
		return pic;
	}

	public void setPic(String pic) {
		this.pic = pic;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public BigDecimal getSaleprice() {
		return saleprice;
	}

	public void setSaleprice(BigDecimal saleprice) {
		this.saleprice = saleprice;
	}

	public BigDecimal getYunfei() {
		return yunfei;
	}

	public void setYunfei(BigDecimal yunfei) {
		this.yunfei = yunfei;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getFhstate() {
		return fhstate;
	}

	public void setFhstate(Integer fhstate) {
		this.fhstate = fhstate;
	}

	public Integer getGtype() {
		return gtype;
	}

	public void setGtype(Integer gtype) {
		this.gtype = gtype;
	}

	public BigDecimal getTotal() {
		return total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	public String getGoodsName() {
		return goodsName;
	}

	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	public Long getUid() {
		return uid;
	}

	public void setUid(Long uid) {
		this.uid = uid;
	}

	public String getTransactionId() {
		return transactionId;
	}

	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}

	public Integer getJifen() {
		return jifen;
	}

	public void setJifen(Integer jifen) {
		this.jifen = jifen;
	}

	public BigDecimal getFxe1() {
		return fxe1;
	}

	public void setFxe1(BigDecimal fxe1) {
		this.fxe1 = fxe1;
	}

	public BigDecimal getFxe2() {
		return fxe2;
	}

	public void setFxe2(BigDecimal fxe2) {
		this.fxe2 = fxe2;
	}

	public BigDecimal getFxe3() {
		return fxe3;
	}

	public void setFxe3(BigDecimal fxe3) {
		this.fxe3 = fxe3;
	}

	public BigDecimal getFxe4() {
		return fxe4;
	}

	public void setFxe4(BigDecimal fxe4) {
		this.fxe4 = fxe4;
	}

	public BigDecimal getFxe5() {
		return fxe5;
	}

	public void setFxe5(BigDecimal fxe5) {
		this.fxe5 = fxe5;
	}

	public BigDecimal getFxe6() {
		return fxe6;
	}

	public void setFxe6(BigDecimal fxe6) {
		this.fxe6 = fxe6;
	}

	public BigDecimal getFxe7() {
		return fxe7;
	}

	public void setFxe7(BigDecimal fxe7) {
		this.fxe7 = fxe7;
	}

	public BigDecimal getZgfan() {
		return zgfan;
	}

	public void setZgfan(BigDecimal zgfan) {
		this.zgfan = zgfan;
	}

	public BigDecimal getSharefan() {
		return sharefan;
	}

	public void setSharefan(BigDecimal sharefan) {
		this.sharefan = sharefan;
	}

	public BigDecimal getHyprice() {
		return hyprice;
	}

	public void setHyprice(BigDecimal hyprice) {
		this.hyprice = hyprice;
	}

	public Long getSid() {
		return sid;
	}

	public void setSid(Long sid) {
		this.sid = sid;
	}

	public Long getPid() {
		return pid;
	}

	public void setPid(Long pid) {
		this.pid = pid;
	}


	public Long getJduid() {
		return jduid;
	}

	public void setJduid(Long jduid) {
		this.jduid = jduid;
	}

	public String getSname() {
		return sname;
	}

	public void setSname(String sname) {
		this.sname = sname;
	}

	public String getXmtype() {
		return xmtype;
	}

	public void setXmtype(String xmtype) {
		this.xmtype = xmtype;
	}

	public String getJdname() {
		return jdname;
	}

	public void setJdname(String jdname) {
		this.jdname = jdname;
	}

	public String getOkday() {
		return okday;
	}

	public void setOkday(String okday) {
		this.okday = okday;
	}

	public Date getPaytime() {
		return paytime;
	}

	public void setPaytime(Date paytime) {
		this.paytime = paytime;
	}

	public Integer getQuantype() {
		return quantype;
	}

	public void setQuantype(Integer quantype) {
		this.quantype = quantype;
	}

	public String getLinkman() {
		return linkman;
	}

	public void setLinkman(String linkman) {
		this.linkman = linkman;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getHeadimg() {
		return headimg;
	}

	public void setHeadimg(String headimg) {
		this.headimg = headimg;
	}

	public BigDecimal getRealpay() {
		return realpay;
	}

	public void setRealpay(BigDecimal realpay) {
		this.realpay = realpay;
	}

	public Long getCouponId() {
		return couponId;
	}

	public void setCouponId(Long couponId) {
		this.couponId = couponId;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "OrderGoods{" +
			"id=" + id +
			", oid=" + oid +
			", gid=" + gid +
			", skuid=" + skuid +
			", price=" + price +
			", number=" + number +
			", status=" + status +
			", discount=" + discount +
			", shipperCode=" + shipperCode +
			", shipperName=" + shipperName +
			", createtime=" + createtime +
			", modifytime=" + modifytime +
			"}";
	}
}
